home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-15
/
check136.zip
/
CHECKSYS.DOC
< prev
next >
Wrap
Text File
|
1992-05-22
|
4KB
|
113 lines
Command-line diagnostic CHECKSYS.EXE
Dan Shearer, Computer Centre, University of South Australia
Comments and bug reports to: ccdps@lux.levels.unisa.edu.au
Version 1.36 released to the public domain 20th May, 1992.
Overview
---------
CHECKSYS is a command-line diagnostic program which either gives a short
description of a whole PC system, or returns a one-line description and
gives an errorlevel when asked about one aspect of the system.
The primary intention is for it to be used to determine system configuration
and driver status from batch files. It can also be handy when wanting a
quick idea of what a machine has during a system debugging session
without starting up a complicated package and poking around menus.
Reasoning Behind CHECKSYS
-------------------------
We have a very mixed hardware environment at UniSA, but like to have
generic batch files on the LAN. In our batch file that starts up Windows,
for instance, we have several CHECKSYS calls to determine what mode
Windows should be run in and what hardware drivers are needed, and also
to check and see if Windows is already running.
How it Works and Acknowledgements
---------------------------------
It is a collection of routines that I have put together in Turbo Pascal
6.0, with assembler routines to check for CPU and FPU. All the detection
calls are in a self-contained TP unit, and I would be willing to release
this to the public domain as well if there was a call for it.
The commandline switch checking code in CHECKSYS is with the kind permission
of Rocky Stone, also of UniSA. Gary Oxton (once a UniSA student) wrote
the basis of the CPU-detection assembler I have used for his final-year
Computer Studies project. I have learnt about checking for memory types
from the InfoPlus source code, by Andrew Rossman and Steve Grant, and
used their LongCall assembler function, which overcomes a shonky feature
of Turbo Pascal 6.0.
Ralf Brown's interrupt list is, of course, absolutely essential.
Syntax
------
CHECKSYS [/switches]
where switches and corresponding actions are:
/ALL Displays the messages for all tests and returns errorlevel 0
/CPU returns errorlevel 0-8 in order for:
8088, 8086, V20, V30, 80188, 80186, Unknown, 80286, 80386
/EMM returns errorlevel 1 if EMM driver installed, 0 if not
/FTP returns 1 if packet driver responding else 0 if not installed
/KBD returns errorlevel 1 if extended keyboard installed, 0 if not
/MOUSE returns 0 for no mouse driver else number of buttons
/NETBIOS returns errorlevel 1 if NetBIOS responding, 0 otherwise
/PAR returns number of parallel ports recognised by BIOS
/SER returns number of serial ports recognised by BIOS
/VID returns 1-10 in order for:
CGA, MCGA, EGA, EGA64, EGAMon, 8514, HercMon, ATT400, VGA, PC3270
/WIN returns 0-3 in order for:
No Windows, Win/386 2.x, Win 3.0 (/R or /S), Win 3.x (/3)
/XMS returns 2 for XMS & HMA avail, 1 for XMS but no HMA, 0 for no XMS
/87 returns 0-3 in order for: None, 8087, 80287, 80387
Each test also displays a detailed message to standard output.
Switches can be abbreviated to 1 letter. Errorlevel 99 for syntax error.
Examples:
CHECKSYS displays the above help message
CHECKSYS /ALL displays detailed results of all tests
CHECKSYS /MOUSE displays detailed info about the mouse, and
returns errorlevels 0 for not present, 2 for two
button mouse present or 3 for three button mouse.
Bugs
----
BIOS check for printer and comms ports is often not accurate. Could add
some better checks.
The FPU check gives a silly result when used on a NEC V20 chip with an
Intel 8087 installed
Doesn't test for Weitek FPU
Doesn't distinguish OS/2 dos-boxes from Windows dos-boxes
Doesn't test for various network cards
Doesn't test for game port
Doesn't give video chipset particulars (might be useful for running
Windows with specific screen drivers)
Doesn't detect sound cards
Could possibly have a TSR check, ie syntax like:
CHECKSYS <unique TSR signature> [<optional range of interrupts>]